package com.xunqi.ad.service;

import com.xunqi.ad.entity.AdPlan;
import com.xunqi.ad.exception.AdException;
import com.xunqi.ad.form.AdPlanForm;
import com.xunqi.ad.form.AdPlanGetForm;
import com.xunqi.ad.vo.AdPlanResponseVo;
import com.xunqi.ad.vo.ResponseVo;

import java.util.List;

/**
 * @Description:
 * @Created with IntelliJ IDEA.
 * @author: 夏沫止水
 * @create: 2020-04-29 16:05
 **/
public interface IAdPlanService {

    /**
     * 创建推广计划
     * @param form
     * @return
     * @throws AdException
     */
    ResponseVo<AdPlanResponseVo> createAdPlan(AdPlanForm form) throws AdException;


    /**
     * 获取推广计划
     * @param form
     * @return
     * @throws AdException
     */
    ResponseVo<List<AdPlan>> getAdPlanByIds(AdPlanGetForm form) throws AdException;

    /**
     * 更新推广计划
     * @param form
     * @return
     * @throws AdException
     */
    ResponseVo<AdPlanResponseVo> updateAdPlan(AdPlanForm form) throws AdException;


    /**
     * 删除推广计划
     * @param form
     * @return
     * @throws AdException
     */
    ResponseVo deleteAdPlan(AdPlanForm form) throws AdException;
}
